Guillem Jover [Fri, 16 Aug 2019 00:33:46 +0000 (02:33 +0200)]
[PATCH libaio 23/26] Fix io_pgetevents() syscall wrapper on 32-bit userland on 64-bit kernels
The kernel compat syscall in the kernel got introduced with a broken
layout, which requires a pointer to the actual sigset_t variable but
with the size of the running kernel, not the size of the compat code.
This means that when the wrapper sends the expected compat (32-bit)
pointer, the kernel reads a 64-bit pointer, eating with it also the
sigset size member. And then proceeds to fail the comparison of the
sigset_t size and returns EINVAL.
This really needs to be fixed in the kernel, as there's no apparent
user of the broken compat layout (from codesearch.debian.org, nor a
quick github.com search). But we have to workaround it in libaio so
that we can use kernels that have not yet been fixed.
We do that, by trying the non-broken layout (that would be used with
a 32-bit userland on a 32-bit kernel), and if that fails with -EINVAL
we retry with a structure padded to what the kernel expects.
Guillem Jover [Fri, 1 Mar 2024 00:52:51 +0000 (01:52 +0100)]
[PATCH libaio 21/26] Add time64 syscall support
This implements both io_getevents() and io_pgetevents() as wrappers over
the new aio_getevents() and aio_pgetevents() which use __kernel_timespec
as its timespec data type which should always be 64-bit. We add the
necessary conversion from __kernel_old_timespec or timsepec struct
types.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0021-Add-time64-syscall-support.patch
Guillem Jover [Tue, 2 Nov 2021 21:37:32 +0000 (22:37 +0100)]
[PATCH libaio 08/26] Use new symver function attribute to support LTO builds
The LTO support cannot work properly when there are versioned symbols
via asm statements, as those are not seen by the compiler. Use the new
function attributes if supported instead of the asm statements.
We need to move the SYMVER calls after the function definitions
otherwise it will reference symbols not yet seen.
[PATCH libaio 05/26] build: Honor user build flags
CPPFLAGS, CFLAGS and LDFLAGS are user flags, which we need to preserve,
regardless of the user passing them over the environment or the
command-line. Any required flag that the build system needs, has to be
set in some other flag (which we will namespace with «MK_») so that the
build will use even if the user flags are passed, even though the user
should be able to override by appending after them. We pass CPPFLAGS to
any compilation command that missed them.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0005-build-Honor-user-build-flags.patch
[PATCH libaio 04/26] build: Fix DESTDIR and pathname variables handling
The convention for DESTDIR is that it is only prefixed during the
install target. In this case we postpone that to the inner Makefile
so that it can be invoked directly while preserving the expected
semantics. We should also prefer the user specified pathname variables
if already set in any way, and do not need to pass them explicitly
to the sub-make.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0004-build-Fix-DESTDIR-and-pathname-variables-handling.patch
Guillem Jover [Sat, 17 Oct 2026 15:57:49 +0000 (17:57 +0200)]
libaio (0.3.113-10) unstable; urgency=medium
* Remove build dependency on debhelper (>= 13.10) implied by
debhelper-compat (= 13) since Debian bookworm.
* Switch to Standards-Version 4.7.4 (no changes needed).
* Refactor common description into a source stanza Description field.
* Switch upstream site from decommissioned pagure.io to codeberg.org.